Code Injection
攻擊者將惡意代碼注入到應用程序中,並使應用程序執行這些代碼。這通常發生在應用程序未對用戶輸入進行適當處理並將其作為可執行代碼運行的情況。
最常見的例子是eval()函數,在Node.js跟python都有的一個很方便的函數,由於可以用來直接執行輸入的內容,
因此若是沒有做好檢核,很容易就讓攻擊者抓到漏洞來對網站進行攻擊。通常弱點掃描工具只要掃到eval()都會直接認定是弱點,除非必要,否則不要使用eval()比較安全。
以python為例:
user_input = input("Enter a calculation: ")
result = eval(user_input)
print(result)
若輸入的內容是
import('os').system('rm -rf /')
就有可能會導致server上的文件被大量刪除